Computer-readable storage medium for information processing apparatus having selectable processing channels and a display capable of displaying applicable options for print settings

ABSTRACT

A non-transitory computer readable storage medium storing computer readable instructions that are executable by a computer in an information processing apparatus connected with a printer, is provided. The computer readable instructions cause the computer to obtain a type of an object contained in an image file, determine whether the obtained type of the object falls under a first type, and based on a determination that the obtained type of the object falls under the first type, determine a combination of applicable options for a print setting for the image file to be a first option group, and based on a determination that the obtained type of the object falls under a second type, determine a combination of applicable options for the print setting for the image file to be a second option group containing a smaller number of applicable options than the first option group.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority from Japanese Patent Application No.2017-187867, filed on Sep. 28, 2017, the entire subject matter of whichis incorporated herein by reference.

BACKGROUND

Technical Field

An aspect of the present disclosure is related to a computer-readablestorage medium storing a program to be installed in an informationprocessing apparatus, which is capable of communicating with a printer.Specifically, the present disclosure is related to a technic todetermine a setting option selectable through a user interface in theinformation processing apparatus. p Related Art

An information processing apparatus capable of communicating withanother device, such as a printer, may process data according to varioustypes of settings and may accept the settings for processing the datathrough a user interface provided by an application program or a printerdriver. Between the information processing apparatus and the device, aplurality of processing channels to process the data there-through maybe established. For example, an information processing apparatus mayanalyze whether print data was generated through a processing channelcomposed of Win32 application program and GDI (Graphic Device Interface)printer driver or through a processing channel composed of WinFXapplication program and XPS (WML Paper Specification) printer driver,and the information processing apparatus may accept different settingsdepending on the processing channel.

Summary

While some print settings to print an image may provide a plurality ofapplicable options, some of the applicable options may not workeffectively in a printed image depending on, for example, a content ofthe image. Meanwhile, a quantity of the applicable options in each printsetting may be fixed or invariable to each user interface. Therefore,the applicable options may be presented to a user regardless of theineffectiveness in the printed image, and the user may select anapplicable option, which may not be substantially effective, withoutknowing the ineffectiveness. While a larger quantity of setting optionsmay widen a range of latitude in the settings, if the larger quantity ofsetting options include setting options that are less effective to theuser, appearance of a setting screen in a display may becomecomplicated, and the user may find it difficult to select a preferablesetting options among the large quantity of applicable options.

The present disclosure is advantageous in that a computer readablestorage medium storing computer readable instructions to cause aninformation processing apparatus to provide a user interface, throughwhich a user may select a print setting easily, is provided.

According to an aspect of the present disclosure, a non-transitorycomputer readable storage medium storing computer readable instructionsthat are executable by a computer in an information processingapparatus, having a communication interface, through which theinformation processing apparatus is connected with a printer, isprovided. The computer readable instructions, when executed by thecomputer, cause the computer to obtain a type of an object contained inan image file; determine whether the obtained type of the object fallsunder a first type; and based on a determination that the obtained typeof the object falls under the first type, determine a combination ofapplicable options for print settings for the image file to be a firstoption group, and based on a determination that the obtained type of theobject falls under a second type being different from the first type,determine a combination of applicable options for the print settings forthe image file to be a second option group, the second option groupcontaining a smaller number of applicable options than the first optiongroup.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

FIG. 1 is a block diagram to illustrate a printing system according toan embodiment of the present disclosure.

FIG. 2 is a block diagram to illustrate printing programs in aninformation processing apparatus in the printing system according to theembodiment of the present disclosure.

FIG. 3 is a block diagram to illustrate processing channels for theinformation processing apparatus in the printing system according to theembodiment of the present disclosure.

FIG. 4 is an illustrative view of an editor screen to be displayed inthe information processing apparatus according to the embodiment of thepresent disclosure.

FIG. 5 is an illustrative view of a basic setting screen to be displayedin the information processing apparatus according to the embodiment ofthe present disclosure.

FIG. 6 is an illustrative view of an advanced setting screen to bedisplayed in the information processing apparatus s according to theembodiment of the present disclosure.

FIG. 7 is an illustrative view of an advanced setting screen to bedisplayed in the information processing apparatus s according to theembodiment of the present disclosure.

FIG. 8 is a flowchart to illustrate flows of steps in a printing processin the information processing apparatus according to the embodiment ofthe present disclosure.

FIG. 9 is a flowchart to illustrate flows of steps in an advancedsetting process in the information processing apparatus according to theembodiment of the present disclosure.

FIG. 10 is a flowchart to illustrate flows of steps in a displayablesettings items determining process in the information processingapparatus according to the embodiment of the present disclosure.

DETAILED DESCRIPTION

Hereinafter, with reference to the accompanying drawings, describedbelow will be a printing system 100 as an embodiment of the presentdisclosure.

The printing system 100 according to the embodiment includes, as shownin FIG. 1, a printing apparatus 1 and an information processingapparatus 2 that may communicate with each other. The printing apparatus1 may print an image on a printable medium and may include, for example,a label printer, a page printer, a copier, and a multifunctionperipheral device. The information processing apparatus 2 may generateand edit image data for the image to be printed in the printingapparatus 1, and transmit a print execution command and the image datato the printing apparatus 1. The information processing apparatus 2 mayinclude, for example, a smartphone, a personal computer, and a tabletcomputer. The printing apparatus 1 and the information processingapparatus 2 in the printing system 100 may not necessarily be limited toa single printing apparatus 1 and a single information processingapparatus 2, respectively, but may include a plurality of printingapparatuses 1 and a plurality of information processing apparatuses 2,respectively.

The printing apparatus 1 includes, as shown in FIG. 1, a controller 11,an image printer 12, an operation panel 13, and a network interface 14.The controller 11 includes a CPU and a memory and may control devicesand parts in the printing apparatus 1. The controller 11 drawn as asingle piece of hardware controller in FIG. 1 may not necessarily belimited to a single piece of hardware controller but may include aplurality of hardware devices that may collectively control the printingapparatus 1.

The image printer 12 may print an image on a printable medium in animage forming technic, which may be, for example, anelectro-photographic technic or an inkjet printing technic. Theoperation panel 13 may include, for example, a touch panel, which mayaccept a user's input and display information. The operation panel 13may include indicator lamps and buttons. The network interface 14 is ahardware device to establish communication with the informationprocessing apparatus 2.

The information processing apparatus 2 includes, as shown in FIG. 1, aCPU 21, a ROM 22, a RAM 23, a non-volatile memory 24, anoperation/display interface 26, and a network interface 27. The ROM 22may store programs including an activation program to activate theinformation processing apparatus 2. The RAM 23 may be used as a workarea for processing data and as a temporary memory area to store datatemporarily. The non-volatile memory 24 may be, for example, an HDD anda flash memory, and store programs and data therein.

The CPU 21 may process information according to programs read from theROM 22 and the non-volatile memory 24. The operation/display interface26 may include, for example, a touch panel, which may accept a user'sinput and display information. The operation/display interface 26 mayinclude, for example, a keyboard, a mouse, and a display. The networkinterface 27 is a hardware device to establish communication with theprinting apparatus 1.

In the printing system 100, the information processing apparatus 2 andthe printing apparatus 1 may communicate with each other wirelessly inconformity with Wi-Fi (registered trademark) standard through a commonaccess point 3. In this regard, the network interfaces 14, 27 areinterfaces that enable wireless communication in conformity with theWi-Fi standard, more specifically, with IEEE 802.11 standard or otherstandards in compliance with IEEE 802.11. However, the technology toestablish wireless communication between the information processingapparatus 2 and the printing apparatus 1 may not necessarily be limitedto the Wi-Fi standard. For example, the information processing apparatus2 and the printing apparatus 1 may wirelessly communicate with eachother through direct connection without communicating through the accesspoint 3.

The non-volatile memory 24 in the information processing apparatus 2stores, as shown in FIG. 2, an image-editor application 41 being anapplication program for editing images, an image data creating program42, a specialized print-controlling program 43, an operating system (OS)44. The OS 44 for the information processing apparatus 2 includes abasic print-controlling program 45 and a communication program 46. Inthe following paragraphs, an application program may be referred to asan application. In FIG. 2, directions of data flows from one program toanother program are indicated by solid arrows.

The image-editor application 41 is a program having functions to, forexample, accept commands from a user, display an image, and edit andsave the image. The image-editor application 41 may, for example,generate and edit a label image file to be used in a label printer. Thelabel image file may be a data file to print an image on a label medium,which may be a strip of tape. The image-editor application 41 furtherhas functions to read a generated label image file, accept a printcommand, and accept setting options for printing an image.

The image-editor application 41 further has a function to obtain statusinformation from the printing apparatus 1 through the specializedprint-controlling program 43 or the basic print-controlling program 45,as indicated by dash-and-dot lines in FIG. 2. The status information mayinclude, for example, a print completion report and an error report.

The image data generating program 42 is a program having a function tocreate an image file for an image to be printed. The image datagenerating program 42 in the information processing apparatus 2 may, forexample, create the label image file according to a command enteredthrough the image-editor application 41. A procedure for theimage-editor application 41 to generate the label image file mayinclude, for example, outputting a command to the image data generatingprogram 42 to create a label image file and receiving the created labelimage file from the image data generating program 42.

The specialized print-controlling program 43 is a program havingfunctions to, for example, generate rasterized data, by rasterizingimage data contained in the label image file, and control thecommunication program 46 to transmit the generated rasterized data tothe printing apparatus 1. The specialized print-controlling program 43may be designed to specifically control a printing apparatus in aspecific model. Therefore, the specialized print-controlling program 43may not control a printing apparatus in a different model from adifferent manufacturer.

The specialized print-controlling program 43 is a specialized program tocontrol the printing apparatus 1 and may cope with more advanced ordetailed print settings, which are applicable to image processing forprinting the image in the printing apparatus 1. The specializedprint-controlling program 43 may generate rasterized data in a format,which is feasible to the printing apparatus 1. The specializedprint-controlling program 43 may be a common program, which are commonlyusable not only by the image-editor application 41 but are usable amonga plurality of printing applications.

The basic print-controlling program 45 is a program having functions togenerate standardized data for printing in conformity with apredetermined printing standard and control the communication program 46to transmit the generated standardized data to the printing apparatus 1.The basic print-controlling program 45 is a basic program provided bythe OS 44. The standardized data transmitted by the basicprint-controlling program 45 may be data in conformity with a generalrasterization standard, which is feasible to the printing apparatus 1,and is not rasterized.

The basic print-controlling program 45 is a general program designed torun on a variety of printing apparatuses that support a predeterminedprinting standard. In other words, as long as the printing apparatus hasa functionality to cope with the basic print-controlling program 45, theprinting apparatus may print an image by the standardized dataregardless of a model or a manufacturer of the printing apparatus.Meanwhile, due to the versatility of the basic print-controlling program45 to cope with the variety of printing apparatuses, print settingoptions applicable through the basic print-controlling program 45 may belimited to basic settings. Therefore, the basic print-controllingprogram 45 may not always accept the print setting options that arefeasible to the printing apparatus 1. Printing systems utilizing thebasic print-controlling program 45 may include, for example, AirPrint(registered trademark) and Mopria (registered trademark).

In this regard, the label image file created by the image datagenerating program 42 may be more preferably processed by thespecialized print-controlling program 43. The image-editor application41 may transfer image data of an image to be printed to either thespecialized print-controlling program 43 or the basic print-controllingprogram 45. When the image data is transferred to the specializedprint-controlling program 43, the image-editor application 41 maytransfer the label image file and apply all of the commanded printsetting options to the label image data. Meanwhile, when the image datais transferred to the basic print-controlling program 45, theimage-editor application 41 may transfer a data file, in which the labelimage file is converted into a generally usable format, to the basicprint-controlling program 45, with merely the basic print settingoptions applied thereto.

The communication program 46 is a program having a function to controlthe network interface 27 to communicate with another communicationdevice. For example, the specialized print-controlling program 43 mayregister the generated rasterized data in a spooler in the OS 44. Thecommunication program 46 in the information processing apparatus 2 maytransmit the data registered in the spooler to the printing apparatus 1through the network interface 27. The communication program 46 isanother one of basic programs provided by the OS 44. A part of thecommunication program 46 may be stored in the ROM 22.

The printing system 100 may have, as indicated in FIG. 3, two (2)processing channels to cause the printing apparatus 1 to print an image.The processing channels include a first channel, in which theinformation processing apparatus 2 may rasterize the image data, and asecond channel, in which the printing apparatus 1 may rasterize theimage data.

In order to control the printing apparatus 1 to print the image throughthe first channel, the information processing apparatus 2 may, as shownin FIG. 3, rasterize the image data contained in the label image file ina rasterization process and transmit the rasterized data to the printingapparatus 1. The printing apparatus 1 may receive the rasterized dataand print the image based on the rasterized data having been received.Through the first channel, the information processing apparatus 2rasterizes the image data for the image to be printed by the specializedprint-controlling program 43 shown in FIG. 2.

Through the first channel, the data is processed by the specializedprint-controlling program 43, which is feasible to the print settingsthat are applicable to the printing apparatus 1. While the specializedprint-controlling program 43 is not provided by the OS 44, in order toprint the image through the first channel, the information processingapparatus 2 may not use print-controlling functions (e.g., the basicprint-controlling program 45) contained in the OS 44.

In order to control the printing apparatus 1 to print the image throughthe second channel, the information processing apparatus 2 may, as shownin FIG. 3, standardize the image data contained in the label image filein a standardization process and transmit the standardized data to theprinting apparatus 1. The printing apparatus 1 may receive thestandardized data, rasterize the standardized data in a generalrasterization process, and print an image based on the rasterized datahaving been rasterized. Through the second channel, the informationprocessing apparatus 2 standardizes the image data of the image to beprinted by the basic print-controlling program 45 shown in FIG. 2.

Through the second channel, the data is processed by the basicprint-controlling program 45, which is the print-controlling functionincluded in the OS 44. In this regard, some of the print settingsapplicable to the printing apparatus 1 may not be feasible to the basicprint-controlling program 45. For example, the basic print-controllingprogram 45 may not be adapted to handle image data in a high resolution,which may only be adaptable to a specific model of printing apparatus.Therefore, in order to print the image through the second channel, aresolution adaptable to majority of models, i.e., a print setting otherthan the high resolution, may be applied.

Thus, the first channel and the second channel differ in the subjects toprocess the image data of the image to be printed. Namely, through thefirst channel, it is the information processing apparatus 2 thatrasterizes the image data. On the other hand, through the secondchannel, it is the printing apparatus 1 that rasterizes the image data.In other words, the first channel is a channel, in which the informationprocessing apparatus 2 rasterizes the image data, and the second channelis a channel, in which the printing apparatus 1 rasterizes the imagedata. Further, the first channel and the second channel may differ inalgorisms to rasterize the image data and in outcomes of therasterization. In other words, in the first channel, more advanced ordetailed print settings may be applicable to the rasterization, while inthe second channel some of the print settings may be limited in therasterization. Furthermore, the first channel and the second channel maydiffer in types and formats of the data to be transmitted from theinformation processing apparatus 2 to the printing apparatus 1.Therefore, while images may be printed based on a same label image file,an image as a printed outcome through the first channel and an image asa printed outcome through the second channel may not be the same but mayappear differently.

In the present embodiment, the printing apparatus 1 in the printingsystem 100 is adapted to print both an image based on the rasterizeddata transmitted through the first channel and an image based on thestandardized data transmitted through the second channel. Meanwhile, theinformation processing apparatus 2 is adapted to transmit data to theprinting apparatus 1 through either the first channel or the secondchannel by the wireless communication through the network interface 27.Therefore, the printing system 100 is adapted to process image datathrough both the first channel and the second channel.

Next, in the following paragraphs, described will be flows of printingactions to be performed in the printing system 100 according to thepresent embodiment. More specifically, a printing process through thefirst channel in the printing system 100 will be described. In theembodiment described below, the printing apparatus 1 is described as alabel printer capable of printing multicolored images. The image-editorapplication 41 may be a program to generate a label image file to beused in the label printer. The specialized print-controlling program 43may be a program to generate rasterized data adapted to be usable in thelabel printer. In the printing process through the first channel, theinformation processing apparatus 2 may accept advanced settings feasibleto the printing apparatus 1.

In order to create a label in the printing system 100, a user mayoperate the information processing apparatus 2 to execute theimage-editor application 41 and edit a label image file containing imagedata for an image to be printed. The information processing apparatus 2may activate the image-editor application 41 and display an editorscreen 50 as shown in FIG. 4 in the operation/display interface 26. Theeditor screen 50 may contain, for example, a preview image 501, whichexpresses a label image being currently edited, a print button 502,through which a command to print the label image may be entered, and acancel button 503, through which actions to edit the label image may becanceled.

The editor screen 50 may further include, for example, an objectselection button 505, as shown in FIG. 4. Through the object selectionbutton 505, the information processing apparatus 2 may accept a commandfrom a user to designate a type of an object to be added to the labelimage being currently edited. The type of the object may include, forexample, text, frame, figure, picture, and barcode.

The information processing apparatus 2 accepting the command to add anobject adds an area to accept the designated object in the preview image501. Further, the information processing apparatus 2 may acceptdesignation of the image data for the image to be printed and displaythe image by the designated image data in the added object area in thepreview image 501. In FIG. 4, the preview image 501 including a textobject 501 a, which contains characters XYZ, and a figure object 501 b,which represents a flower, is displayed.

A part of the preview image 501 in the editor screen 50 may be definedas a printing range. The printing range may contain an image to beprinted and may be defined by printing conditions, such as a width of alabel to be used in the image printing or a size of a printing sheet.The information processing apparatus 2 may display the preview image 501with indication of the printing range. The information processingapparatus 2 may accept a user's operation to a printing range button 506to set the range for the image to be printed in the preview image 501. Auser may, for example, place an object outside the printing range in thepreview image 501 in order to, for example, efficiently create a labelimage. In such a case, by limiting the printable area in the previewimage 501, the object, which should not be printed, may be excluded fromthe printing range and prevented from being printed undesirably. In thepreview image 501 shown in FIG. 4, a printing range 506 a containing atext object 501 a and excluding a figure image 501, is indicated in adash-and-dot line.

The information processing apparatus 2, while running the image-editorapplication 41 active, may accept a user's operation to the print button502 in the editor screen 50. In response, the information processingapparatus 2 may display a basic setting screen 51, through which printsettings may be entered, as shown in FIG. 5. In response to the user'soperation through the basic setting screen 51, the informationprocessing apparatus 2 may accept basic settings such as a number ofcopies 511 and a cutting option 512 for the printed label.

The basic setting screen 51 may further include, as shown in FIG. 5, anadvanced setting button 52, a cancel button 53, and a print start button54. The cancel button 53 may be operated to cancel image printing. Theprint start button 54 may be operated to start printing. The advancedsetting button 52 may be operated to apply more advanced or detailedsettings to the image printing. The information processing apparatus 2accepting a user's operation to the advanced setting button 52 maydisplay, for example, an advanced setting screen 55 as shown in FIG. 6,which shows options prepared for more advanced settings than thesettings applicable through the basic setting screen 51.

FIG. 6 shows an illustrative view of an advanced setting screen 55A,which contains a plurality of displayable setting items, including allof the prepared options that may be presented to the user and selectableby the user to be applied to the image printing. Through the advancedsetting screen 55A, as shown in FIG. 6, for example, options concerninga print quality setting 551, a print start setting 552, a halftonesetting 553, a brightness/contrast settings 554, and a bidirectionalcommunication setting 555, may be presented.

Specifically, in the advanced setting screen 55A as shown in FIG. 6, theprint quality setting 551 being one of the displayable setting items mayprovide three (3) applicable options: priority on speed, 300 by 300 dpi;priority on quality, 300 by 300 dpi; and high resolution, 300 by 600dpi. The print start setting 552 being another one of the displayeditems may provide two (2) applicable options concerning a timing tostart printing: “start printing as soon as the printer starts receivingdata”; and “start printing when the printer receives data for one page.”The halftone setting 553 being another one of the displayed items mayprovide three (3) options: optimized for logo/text, optimized fortext/graphics, and optimized for general label including an image. Thebrightness/contrast settings 554 being another one of the displayablesetting items may provide a slider bar for brightness setting and aslider bar for contrast setting.

The information processing apparatus 2 may obtain a type of an object,i.e., a type of an image to be printed, contained in the printing rangeand determine a combination of displayable options as applicable printsettings to be displayed in the advanced setting screen 55. In thisregard, for example, an option, which may not cause substantialdifference in a printed image, may be eliminated from the displayableoptions. Meanwhile, an option, which may substantially affect appearancein the printed image, may be determined as a displayable option.

For example, an image to be printed may contain a multicolored pictureobject. The information processing apparatus 2 may display the advancedsetting screen 55A, which shows all of the prepared options, and acceptthe user's selections to one of the options for each setting item. Forexample, a user may wish to print an image in a high resolution andselect the option “high resolution, 300 by 600 dpi” in the print qualitysetting 551. In response, the information processing apparatus 2 maytransmit print data with a print command, which designates the highresolution, to the printing apparatus 1.

For another example, the image to be printed may contain text objectsalone. The information processing apparatus 2 may display anotheradvanced setting screen 55B, for example, as shown in FIG. 7. Theadvanced setting screen 55B may present the displayable settings itemsincluding the print quality setting 551, the print start setting 552,the bidirectional communication setting 555, and the prepared optionstherefore. Meanwhile, the other setting items, the halftone setting 553,the brightness/contrast settings 554, and the prepared options thereforemay not be contained in the advanced setting screen 55B.

When, for example, the objects contained in the image to be printed aretext objects alone, the option “optimized for logo/text” may bepreferably adopted for the halftone setting 553. For another example, inan image containing a single-colored object alone, adjustment of colortones in the brightness/contrast settings 554 may not substantiallyaffect appearance of the printed image. In this regard, concerning thesetting items such as the halftone setting 553 and thebrightness/contrast settings 554, it may not be necessary to receiveadvanced settings options from the user. Therefore, when the image to beprinted contains text object(s) alone, the information processingapparatus 2 may display the advanced setting screen 55B without theoptions for the halftone setting 553 or the brightness/contrast settings554. However, if the printing apparatus 1 has an ability to print animage, of which appearance is substantially affected by the options forthe single-colored object, the information processing apparatus 2 maydisplay the options for the brightness/contrast settings 554.

An image to be printed may contain a plurality of different-typedobjects, and the information processing apparatus 2 may determine acombination of the options to be displayed based a combination of thetypes of the objects. For example, the information processing apparatus2 may display the same advanced setting screen 55B both when the imageto be printed contains a single text object and when the image to beprinted contains a plurality of text objects. Meanwhile, when, forexample, the image to be printed contains a plurality of objects, and atleast one of the objects is a picture object, the information processingapparatus 2 may display the advanced setting screen 55A.

The advanced setting screen 55 further contains an OK button 56, asshown in FIGS. 6 and 7, which may be operated by the user to close theadvanced setting screen 55. When the OK button 56 is operated, theinformation processing apparatus 2 may switch screens from the advancedsetting screen 55 to the basic setting screen 51 and accept operationsby the user to the basic setting screen 51.

Next, in the following paragraphs, with reference to FIG. 8, describedwill be flows of steps in the printing process to be conducted by theinformation processing apparatus 2 in order to implement the printingactions in the printing system 100 described earlier. The printingprocess may be conducted by the CPU 21 in the information processingapparatus 2 in response to receiving a print command in the activeimage-editor application 41, in other words, in response to accepting auser's operation to the print button 502 through the editor screen 50.

As the CPU 21 accepts the print command through the image-editorapplication 41, in S101, the CPU 21 displays the basic setting screen 51(see FIG. 5). In S102, the CPU 21 determines whether a user's operationto the advanced setting button 52 in the basic setting screen 51 isentered. In S102, if the user's operation to the advanced setting button52 is entered (S102: YES), in S103, the CPU 21 conducts an advancedsetting process to determine the displayable setting items to bedisplayed in the advanced setting screen 55.

Flows of steps in the advanced setting process will be described belowwith reference to a flowchart in FIG. 9. In S201, the CPU 21 obtainsinformation concerning each object contained in the printing range fromthe image data contained in the label image file designated by the printcommand received through the image-editor application 41. The printingrange may either be a physically printable range or a range defined bythe user. The CPU 21 conducts the following steps to the objectscontained in the limited printing range.

As mentioned above, the object(s) that may be considered in order todetermine the displayable setting items and the options to be displayedare limited to those contained in the printing range so that the morepreferable or effective options depending on the objects to be printedmay be collected. Moreover, the advanced setting process is applied tothe data in the label image file at the moment when the print commandwas received. Therefore, the advanced settings may be applied to theimage data at the point immediately before the basic setting screen 51is displayed.

In S202, the CPU 21 obtains type(s) of the object(s) obtained in S201.In S203, the CPU 21 conducts a displayable setting item determiningprocess to determine the displayable setting items in the advancedsetting screen 55 based on the type(s) of the object(s).

The displayable setting item determining process in S203 may beconducted as a part of actions conducted by the CPU 21 in accordancewith the image-editor application 41. In other words, the CPU 21 mayobtain the object type(s) and conduct the displayable setting itemdetermining process based on the obtained object type(s) as actions inthe processes by the image-editor application 41.

Alternatively, the displayable setting item determining process in S203may be conducted as a part of actions conducted in accordance with thespecialized print-controlling program 43. If the displayable settingitem determining process in S203 is conducted as a part of the actionsconducted in accordance with the specialized print-controlling program43, the CPU 21 may pass the information concerning the object(s) fromthe image-editor application 41 to the specialized print-controllingprogram 43 and return a processed outcome in the displayable settingitem determining process from the specialized print-controlling program43 to the image-editor application 41. Thus, when, for example, theprinting apparatus 1 to be used is switched to another printingapparatus 1, and if the options for the displayable setting items mayneed to be changed, solely the specialized print-controlling program 43may be updated, and the image-editor application 41 may not necessarilybe updated.

Next, in the following paragraphs, with reference to FIG. 10, describedwill be flows of steps in the displayable setting item determiningprocess in S203 to be conducted by the information processing apparatus2. The displayable setting item determining process may be a part of theprocesses conducted by the CPU 21 in accordance with the image-editorapplication 41.

As the displayable setting item determining process starts, in S301, theCPU 21 determines whether the type of the objects obtained in S202contain no other object type but text object. In other words, the CPU 21determines whether the type(s) of the object(s) falls under the texttype alone. If the type(s) of the object(s) falls under the text objectalone (S301: YES), in S302, the CPU 21 determines that the optionsoptimized for text object will be displayed. In particular, the CPU 21may determine appearance of the advanced setting screen 55 to be theadvanced setting screen 55B as shown in FIG. 7, in which the settingitems “halftone setting 553” and “brightness/contrast settings 554” areomitted. A quantity of the options to be displayed in the advancedsetting screen 55B are smaller than a quantity of the options to bedisplayed in the advanced setting screen 55A (see FIG. 6).

A printed image of a text object may not require advanced color-tonesettings; therefore, by omitting the options for the setting itemsconcerning the color-tone settings, the setting screen may besimplified, it may be easier for the user to select preferable optionsamong the displayed options. In other words, with regard to the settingitems that may not affect the printed outcome, the image-editorapplication 41 may not accept alteration of the settings by the user.Meanwhile, for the setting item that is not displayed, the CPU 21 mayadopt a default value. The CPU 21 may, for example, adopt an option“optimized for general label including image” for the halftone setting553 and zero (0) for brightness and contrast in the brightness/contrastsettings 554.

In S303, the CPU 21 adopts default values preset for text object for thesetting items to be displayed. In particular, the CPU 21 may display theprint quality setting 551 with one of the options therefor, e.g.,“priority on speed, 300 by 300 dpi,” being adopted and the print startsetting 551 with one of the options therefor, e.g., “start printing assoon as the printer starts receiving data,” being adopted.

In a case where the types of the objects to be printed fall under thetext type alone, the setting items “image quality setting” and/or “printstart setting” may be removed from the advanced setting screen 55 aswell. In other words, none of the options for the setting items may bedisplayed. When none of the options is displayed, the advanced settingbutton 52 may be omitted from the basic setting screen 51. Moreover, notonly when the types of the objects fall under the text type alone, butalso when the types of the objects fall under one the text type and thefigure type alone, or merely the figure type alone, an affirmativedetermination (S301: YES) may be made.

In S301, on the other hand, if the CPU 21 determines that the types ofthe objects obtained in S202 fall under an object type other than thetext type (S301: NO), in S305, the CPU 21 determines whether the typesof the objects includes the barcode type. If the CPU 21 determines thatthe types of the objects include the barcode type (S305: YES), in S306,the CPU 21 determines that the options optimized for barcode object willbe displayed. In particular, the CPU 21 may display, for example, theoption “high resolution, 300 by 600 dpi” alone and omit displaying theother options for the print quality setting 551.

If an image containing a barcode object is printed with a resolutionsetting adopting an option other than high resolution as the printquality setting, the barcode may not be printed in a preferableappearance to be correctly read by commonly used barcode readers.Therefore, when the image to be printed contains a barcode object, theinformation processing apparatus 2 fixes the option for the printquality setting 551 to the high resolution and may not accept alterationof the resolutions by the user. Thereby, a correctly readable barcodemay be printed. The barcode mentioned in the present description mayinclude QR code (registered trademark) and specialized codes designedfor specific purposes.

In S307, the CPU 21 adopts default values preset for barcode object forthe setting items to be displayed. In particular, the CPU 21 may displaythe print start setting 551 with one of the options therefor, e.g.,“start printing as soon as the printer starts receiving data,” beingadopted and the halftone setting 553 with one of the options therefor,e.g., “optimized for logo/text,” being adopted.

Alternatively, in S307, rather than displaying the option “highresolution, 300 by 600 dpi” alone, in other words, rather than omittingthe options other than “high resolution, 300 by 600 dpi,” the CPU 21 maydisplay the other options in a form inoperable by the user. For example,the other options may be displayed in gray. Moreover, when the objecttype includes the barcode type alone, options to be displayed may bereduced further. For example, the brightness/contrast settings 554 maybe omitted from the advanced setting screen 55.

In S305, meanwhile, if the CPU 21 determines that no barcode type isincluded in the object types (S305: NO), in S308, the CPU 21 determinesthat all of the options prepared for the displayable items will bedisplayed. In particular, the CPU 21 may determine the advanced settingscreen 55 to be displayed to the advanced setting screen 55A, as shownin FIG. 6, in which all of the options are presented. In S309, the CPU21 adopts default values preset for general label including image forthe setting items to be displayed.

For example, the types of the objects in the image to be printed mayinclude the picture type but may not include the barcode type. In thiscase, in S305, a negative determination may be made in S305 (S305: NO),and all of the options may be displayed to be selectable. Theinformation processing apparatus 2 may, for example, accept both a printsetting with the priority on speed and a print setting in the highresolution. Thus, as all of the options are presented to be selectable,a wider range of settings may be available to the user.

Meanwhile, a default value for each print setting item may varydepending on, not only the type of the object, but also on a volume ofthe image data. In this regard, the CPU 21 may adopt a default value foreach print setting item on basis of a volume of the image data. Forexample, for the image data is in a large volume, the option “startprinting as soon as the printer starts receiving data” may be set as adefault value for the print start setting 552. In the setting “startprinting as soon as the printer starts receiving data,” the informationprocessing apparatus 2 may transmit the image data to the printingapparatus 1 in a compressed form; therefore, the image data may betransmitted promptly to the printing apparatus 1 even though the datavolume is large. On the other hand, for image data in a smaller volume,the option “start printing as soon as the printer starts receiving data”may be set as a default value for the print start setting 552, while theimage data in the smaller volume may be transmitted in a shorter time sothat image printing may be started promptly.

After S303, S307, or S309, that is, after determining the displayablesetting items and the default values for the setting items, the CPU 21exits the displayable item determining process and returns to theadvanced setting process (see FIG. 9).

In S204 in the advanced setting process, the CPU 21 controls theoperation/display interface 26 and displays the advanced setting screen55 based on the displayable setting items and the default valuesdetermined in the displayable setting item determining process in S203.The advanced setting screen 55 may be displayed partly or entirely overthe basic setting screen 51.

In S205, the CPU 21 determines whether a selecting operation by the userto the options displayed in the advanced setting screen 55 is entered.If the CPU 21 determines that a selecting operation by the user isentered (S205: YES), the CPU 21 returns to S204 and displays theadvanced setting screen 55 based on the displayable setting items andthe values selected by the user's operations.

In S205, if the CPU 21 determines that no selecting operation by theuser is entered (S205: NO), in S206, the CPU 21 determines whether auser's operation to the OK button 56 in the advanced setting screen 55is entered. If the CPU 21 determines that no operation to the OK button56 is entered (S206: NO), the CPU 21 returns to S205 and waits untileither the user's selecting operation or the operation to the OK button56 is entered.

In S206, on the other hand, if the CPU 21 determines that a user'soperation to the OK button 56 is entered (S206: YES), in S207, the CPU21 stores the advanced settings entered and controls theoperation/display interface 26 to close the advanced setting screen 55.Thereafter, the CPU 21 exits the advanced setting process. As theadvanced setting screen 55 is closed, the basic setting screen 51 isenabled to accept a user's operation thereto. The flow returns to theprinting process as shown in FIG. 8.

In the printing process, returning to FIG. 8, following S103, in S104,the CPU 21 determines whether a user's operation to the print startbutton 54 is entered through the basic setting screen 51. If the CPU 21determines that no operation to the print start button 54 is entered(S104: NO), in S105, the CPU 21 determines whether a user's operation tothe cancel button 53 is entered. If the CPU 21 determines that nooperation to the cancel button 53 is entered (S105: NO), the CPU 21returns to S102 and waits until an operation to any one of the advancedsetting button 52, the cancel button 53, and the print start button 54is entered.

In S104, if the CPU 21 determines that a user's operation to the printstart button 54 is entered (S104: YES), in S106, the CPU 21 generates aprint command containing the image data to be printed and the printsettings having been adopted. The CPU 21 may transfer the image data tothe specialized print-controlling program 43 and generate rasterizeddata with the print settings reflected therein through the processes inthe specialized print-controlling program 43.

In S107, the CPU 21 transmits the generated print command to theprinting apparatus 1 and ends the printing process. Meanwhile, theprinting apparatus 1 receiving the print command may print the imageaccording to the image data and the settings in the print command. InS105, on the other hand, if the CPU 21 determines that a user'soperation to the cancel button 53 is entered (S105: YES), the CPU 21ends the printing process.

As described above, according to the printing system 100 in the presentembodiment, the information processing apparatus 2 may obtain the typesof the objects contained in the image file of the image to be printedand determine the options for the print settings which are selectabledepending on the objet types. Therefore, the quantity of the options maybe increased or reduced depending on the content of the image file, andthe options, which may not substantially affect the printed outcome ofthe image, may be omitted from being presented to the user. As a result,appearance of the print setting screen may be simplified, and usabilityof the information processing apparatus 2 to the user may be improved.It may be noted that the quantity of the options to be increased orreduced may include a quantity of the print setting items and a quantityof the options for each print setting item.

Although an example of carrying out the invention has been described,those skilled in the art will appreciate that there are numerousvariations and permutations of the program to be run in the informationprocessing apparatus that fall within the spirit and scope of theinvention as set forth in the appended claims. It is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or act described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

For example, the printing apparatus 1 may not necessarily be equippedwith the operation panel 13. For another example, the memory medium inthe information processing apparatus 2 may not necessarily be limited tothe non-volatile memory 24 but may be any type of mass storage memorydevice.

For another example, the printing apparatus 1 may not necessarily be amulticolor printer but may be a monochrome printer. In a case where theprinting apparatus 1 is a monochrome printer, the information processingapparatus 2 may omit to display options concerning color settingsregardless of a type of an object in an image to be printed.

For another example, the communication method between the printingapparatus 1 and the information processing apparatus 2 may notnecessarily be limited to the wireless communication in compliance withthe Wi-Fi standard but may be, for example, wired communication througha USB cable or wireless communication in compliance with Bluetooth(registered trademark). Further, the printing apparatus 1 and theinformation processing apparatus 2 may be adapted to a plurality ofcommunication methods.

For another example, the image file for the image to be printed may notnecessarily be limited to the label image file for printing a label on atape. For example, the image file may be a compressed file including aPDF file, a JPEG file, etc., or may be a bitmap file. When the imagefile other than the label image file is used, an application program anda print-controlling program that may handle the image data equivalentlyto the image-editor application 41 and the specialized print-controllingprogram 43 may be adopted.

For another example, the second channel may not necessarily requirerasterization in the printing apparatus 1; in other words, rasterizationmay be conducted in the information processing apparatus 2, as long asthe second channel provides a processing channel different from thefirst channel. For example, if the basic print-controlling program 45has the rasterizing function, the basic print-controlling program 45 mayrasterize the image data by its own rasterizing function. In thisconfiguration, the first channel and the second channel still differ inalgorisms for the rasterization. In this configuration, further, whilethe first channel is a channel, which does not use the print-controllingfunction provided by the OS 44, and the second channel is a channel,which uses the print-controlling function provided by the OS 44.

For another example, the processing channels in the printing system 100may not necessarily be limited to the first channel and the secondchannel, but the printing system 100 may have three or more channels.For example, the printing system 100 may have a channel, in which animage may be printed by a driver specialized to the device, and, achannel, in which an image may be printed by CUPS being a printer driverfor UNIX (registered trademark), macOS (registered trademark), and Linux(registered trademark). The device-specific driver and CUPS are programsembedded in the OS 44 (see FIG. 2) in the information processingapparatus 2 to rasterize image data. With these additional processingchannels, if errors occur in both the first channel and the secondchannel, the image printing may be retried through these additionalprocessing channels.

For another example, when an image to be printed contains a barcodeobject, the preset option “high resolution” for the print qualitysetting 551 may not necessarily be displayed but may be omitted from theadvanced setting screen 55. Without displaying the preset option “highresolution,” the quantity of the options to be displayed may be furtherreduced, and the user may handle the print settings more easily. On theother hand, displaying the preset option “high resolution” may help theuser to understand that the option “high resolution” will be appliedmore clearly.

For another example, the object types may not necessarily be limited tothose cited above but may include more or fewer object type(s). Foranother example, the object types to be obtained may not necessarily belimited to the types of the objects contained in the printing range butmay include types of all the objects contained in the image file.Meanwhile, when the object types to be obtained is limited to the typesof the objects contained in the printing range, the processes todetermine the displayable setting items and the options therefore to bedisplayed may be reduced. For another example, the default value presetfor each setting may not necessarily be changed depending on the objecttypes but may be fixed regardless of the object types. Meanwhile,changing the default values depending on the object types may be morebeneficial to users.

For another example, the processes to display the basic setting screen51 and the advanced setting screen 55 to accept selecting operationsfrom the user may not necessarily be conducted as parts of the processesin the image-editor application 41 but may be conducted as parts ofprocesses in the specialized print-controlling program 43. In the casewhere the processes to display the basic setting screen 51 and theadvanced setting screen 55 to accept selecting operations from the userare conducted as parts of processes in the specialized print-controllingprogram 43, the CPU 21 may pass the information concerning the imagedata from the image-editor application 41 to the specializedprint-controlling program 43, and the options to be displayed may bedetermined through the specialized print-controlling program 43. Thespecialized print-controlling program 43 may accept the user's selectedoptions and pass the selected options to the image-editor program 41.

For another example, the image data of the image to be printed in theprinting system 1 may not necessarily be processed through the firstchannel but may be processed through the second channel When the imagedata is processed through the second channel, the information processingapparatus 2 may, for example, determine the options to be displayedamong the options that are feasible to the second channel. Theinformation processing apparatus 2 may, for another example, query thebasic print-controlling program 45 about the feasible options and mayomit displaying options infeasible to the second channel so that theusability to the user may be improved.

For another example, the processing channel to print an image may bedetermined based on a user's instruction or may be determinedautomatically based on printing conditions such as a model of thedesignated printing apparatus 1, a format of the image to be printed,etc. The information processing apparatus 2 may, for example, determinethe first channel to be the processing channel when a model of thedesignated printing apparatus 1 is feasible to the first channel but isnot feasible to the second channel and may conduct the printing process.On the other hand, the information processing apparatus 2 may determinethe second channel to be the processing channel when the model of thedesignated printing apparatus 1 is feasible to the second channel but isnot feasible to the first channel and may not conduct the printingprocess. When a model of the designated printing apparatus 1 is feasibleto both the first channel and the second channel, the informationprocessing apparatus 2 may determine the processing channel based on atype of an object in the image to be printed. For example, when theimage to be printed contains a barcode object (S305: YES), theinformation processing apparatus 2 may determine the first channel,through which the image may be printed in the high resolution, to be theprocessing channel. For another example, when the image to be printedcontains text object(s) alone, the information processing apparatus 2may determine the second channel to be the processing channel. Forexample, in the displayable setting item determining process, followingS303, a step to alter the processing channel from the first channel tothe second channel may be added, and, when an affirmative determinationis made in S301 (S301: YES), the CPU 21 may alter the processing channelfrom the first channel to the second channel.

For another example, the steps or the processes in the printing processdescribed above may be accomplished by a single CPU, a plurality ofCPUs, a hardware device such as an ASIC, or a combination of any ofthese. For another example, the steps or the processes in theabove-described embodiment may be accomplished by various media ormethods, including a recording medium storing the programs to implementthe steps or the processes.

What is claimed is:
 1. A non-transitory computer readable storage mediumstoring computer readable instructions that are executable by a computerin an information processing apparatus comprising a display, theinformation processing apparatus comprising a communication interface,through which the information processing apparatus is connected with aprinter, the computer readable instructions, when executed by thecomputer, causing the computer to: obtain a type of an object containedin an image file; determine whether the obtained type of the objectfalls under a first type; and based on a determination that the obtainedtype of the object falls under the first type, determine a combinationof applicable options for print settings for the image file to be afirst option group, and based on a determination that the obtained typeof the object falls under a second type being different from the firsttype, determine a combination of applicable options for the printsettings for the image file to be a second option group, the secondoption group containing a smaller number of applicable options than thefirst option group; and display the determined one of the combinationsof the applicable options alternatively between the first option groupand the second option group in a setting screen, through which the printsettings are acceptable, in the display.
 2. The non-transitory computerreadable storage medium according to claim 1, wherein the computerreadable instructions cause the computer to obtain the type of theobject, the object being arranged in a printing range in an imagecontained in the image file.
 3. The non-transitory computer readablestorage medium according to claim 1, wherein the type of the objectincludes types of a plurality of objects in the image file; wherein,based on a determination that the obtained types of all of the pluralityof objects in the image file fall under a text type, the computerreadable instructions cause the computer to determine that the obtainedtype of the object falls under the second type, and wherein the secondoption group excludes at least one of applicable options for acolor-tone setting.
 4. The non-transitory computer readable storagemedium according to claim 1, wherein, based on a determination that theobtained type of the object in the image file falls under a barcodetype, the computer readable instructions cause the computer to determinethat the obtained type of the object falls under the second type, andwherein the second option group excludes at least one applicable optionsfor a resolution setting.
 5. The non-transitory computer readablestorage medium according to claim 1, wherein, based on a determinationthat the obtained type of the object in the image file falls under apicture type, the computer readable instructions cause the computer todetermine that the obtained type of the object falls under the firsttype, and wherein the first option group includes all of the applicableoptions that are feasible to the printer.
 6. The non-transitory computerreadable storage medium according to claim 1, wherein the computerreadable instructions cause the computer to determine one of theapplicable options being a default value preset for each of the printsettings based on the obtained type of the object to determine thecombination of the applicable options.
 7. The non-transitory computerreadable storage medium according to claim 6, wherein, based on adetermination that the obtained type of the object falls under a texttype, the computer readable instructions cause the computer to set adefault value for one of the print settings concerning a timing to startprinting an image contained in the image file to a value, by whichprinting starts earlier compared to a timing to start printing the imagewhen the obtained type of the object includes a type other than the texttype.
 8. The non-transitory computer readable storage medium accordingto claim 1, wherein a first channel and a second channel beingprocessing channels configured to cause the printer to print an imagebased on image data in the image file are formed between the informationprocessing apparatus and the printer through the communicationinterface, and wherein, based on the obtained type of the object, thecomputer readable instructions cause the computer to determine one ofthe first channel and the second channel to be used to process the imagedata for the image to be printed.
 9. The non-transitory computerreadable storage medium according to claim 8, wherein an operatingsystem in the information processing apparatus includes a printcontrolling function, wherein the first channel is a channel to causethe printer to print the image without using the print controllingfunction, wherein the second channel is a channel to cause the printerto print the image by use of the print controlling function, and whereinthe computer readable instructions cause the computer to determine thecombination of the applicable options for the print settings between thefirst option group and the second option group under a condition wherethe first channel is determined to be used to process the image data.10. The non-transitory computer readable storage medium according toclaim 8, wherein the first channel is a channel to process the imagedata for the image to be printed by the printer through a firstrasterization process, wherein the second channel is a channel toprocess the image data for the image to be printed by the printerthrough a second rasterization process, the second rasterization processbeing different from the first rasterization process, and wherein thecomputer readable instructions cause the computer to determine thecombination of the applicable options for the print settings between thefirst option group and the second option group under a condition wherethe first channel is determined to be used to process the image data.11. The non-transitory computer readable storage medium according toclaim 8, wherein the first channel is a channel, through which thecomputer readable instructions cause the information processingapparatus to rasterize the image data, wherein the second channel is achannel, through which the computer readable instructions cause theprinter to rasterize the image data, and wherein the computer readableinstructions cause the computer to determine the combination of theapplicable options for the print settings between the first option groupand the second option group under a condition where the first channel isdetermined to be used to process the image data.
 12. The non-transitorycomputer readable storage medium according to claim 1, wherein thecomputer readable instructions form a common program commonly usableamong a plurality of application programs in the information processingapparatus, wherein the computer readable instructions cause the computerto obtain information concerning the object contained in the image filefrom an editor application program being one of the plurality ofapplication program and determine the type of the object based on theobtained information to obtain the type of the object.
 13. Thenon-transitory computer readable storage medium according to claim 1,wherein the computer readable instructions form an editor applicationprogram configured to edit image data contained in the image file. 14.The non-transitory computer readable storage medium according to claim13, wherein the computer readable instructions cause the computer toobtain the type of the object contained in the image file under acondition where a command to display the setting screen in associationwith printing the image is entered.
 15. A non-transitory computerreadable storage medium storing computer readable instructions that areexecutable by a computer in an information processing apparatus, theinformation processing apparatus comprising a communication interface,through which the information processing apparatus is connected with aprinter, the computer readable instructions, when executed by thecomputer, causing the computer to: obtain a type of an object containedin an image file; determine whether the obtained type of the objectfalls under a first type; and based on a determination that the obtainedtype of the object falls under the first type, determine a combinationof applicable options for print settings for the image file to be afirst option group, and based on a determination that the obtained typeof the object falls under a second type being different from the firsttype, determine a combination of applicable options for the printsettings for the image file to be a second option group, the secondoption group containing a smaller number of applicable options than thefirst option group, wherein a first channel and a second channel beingprocessing channels configured to cause the printer to print an imagebased on image data in the image file are formed between the informationprocessing apparatus and the printer through the communicationinterface, and wherein, based on the obtained type of the object, thecomputer readable instructions cause the computer to determine one ofthe first channel and the second channel to be used to process the imagedata for the image to be printed.